package logger

// 日志配置
type LogConfig struct {
	Level      string   `yaml:"level"`      //日志级别
	Filename   string   `yaml:"filename"`   // 日志文件路径
	MaxSize    int      `yaml:"maxSize"`    // 单个文件最大大小(MB)
	MaxBackups int      `yaml:"maxBackups"` // 保留的旧文件最大数量
	MaxAge     int      `yaml:"maxAge"`     // 保留旧文件的最大天数
	Compress   bool     `yaml:"compress"`   // 是否压缩旧文件
	ToMq       bool     `yaml:"toMq"`       // 是否输出到MQ
	MqDsn      MqConfig `yaml:"mqSetting"`  // MQ配置
}

// MqSetting mq 链接
type MqConfig struct {
	Host string `yaml:"host"`
	Port int    `yaml:"port"`
	Unm  string `yaml:"username"`
	Pwd  string `yaml:"password"`
}

var config = LogConfig{
	Level:      "info",
	Filename:   "huijing_mall.log",
	MaxSize:    100,  // 100MB
	MaxBackups: 5000, // 保留5000个备份
	MaxAge:     365,  // 保留365天
	Compress:   true, // 压缩旧日志
	ToMq:       false,
	MqDsn:      MqConfig{},
}

// NewLogConfig 创建默认配置
func NewLogConfig() *LogConfig {
	return &LogConfig{
		Level:      "info",
		Filename:   "huijing_mall.log",
		MaxSize:    100,  // 100MB
		MaxBackups: 5000, // 保留5000个备份
		MaxAge:     365,  // 保留365天
		Compress:   true, // 压缩旧日志
		ToMq:       false,
		MqDsn:      MqConfig{},
	}
}
